Objectif : Désambiguïsation des intitulés de conférences renseignés dans les données HAL, en se basant sur le référentiel CORE

Dernière mise à jour : 16 janvier 2023

Données à nettoyer :

  • Sources des données : API HAL requêtée sur les références de la collection HAL Inria de type COMM publiées entre 2018 et 2022
  • Dimensions : 21 variables et 10206 individus

Données de référence :


Résumé des bases

HAL

Un identifiant unique (hal_id) est créé temporairement pour les 6 communications n’ayant pas d’identifiant à l’import des données des archives ouvertes.

Variable Stats / Values Freqs (% of Valid) Graph Missing
bibtex_key
[character]
1. {Binary is the new Black
2. { - 6th I
3. {IFOW 2020 - Integrated F
4. {}}
5. {Workshop AutoML 2018 @ I
[ 10196 others ]
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
10196 (99.9%)
0
(0.0%)
article_type
[character]
1. booktitle =·
2. inproceedings
3. organization =·
4. publisher =·
5. series =·
6. title =·
30 ( 0.3%)
10164 (99.6%)
2 ( 0.0%)
2 ( 0.0%)
1 ( 0.0%)
7 ( 0.1%)
0
(0.0%)
title
[character]
1. Taking advantage of patho
2. Anticipation in the retin
3. New models and preprocess
4. Unit Commitment under Mar
5. An efficient domain decom
[ 10035 others ]
5 ( 0.0%)
4 ( 0.0%)
4 ( 0.0%)
4 ( 0.0%)
3 ( 0.0%)
10144 (99.8%)
42
(0.4%)
author
[character]
1. Rubino, Gerardo
2. Laugier, Christian
3. Makhalova, Tatiana and Ku
4. Maumet, Camille
5. Merlet, Jean-Pierre
[ 8492 others ]
14 ( 0.1%)
13 ( 0.1%)
12 ( 0.1%)
12 ( 0.1%)
12 ( 0.1%)
10108 (99.4%)
35
(0.3%)
url
[character]
1. https://hal-brgm.archives\ 2. https://hal-brgm.archives\ 3. https://hal-brgm.archives\ 4. https://hal-cea.archives-\ 5. https://hal-cea.archives-\ [ 10166 others ] 1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
10166 (100.0%)
35
(0.3%)
editor
[character]
1. ACM
2. Benzitoun, Christophe and
3. Chantal Keller and Timoth
4. IEEE
5. AFIHM
[ 363 others ]
11 ( 2.1%)
11 ( 2.1%)
9 ( 1.8%)
9 ( 1.8%)
8 ( 1.6%)
466 (90.7%)
9692
(95.0%)
series
[character]
1. Lecture Notes in Computer
2. LNCS
3. Proceedings of Machine Le
4. Leibniz International Pro
5. CEUR Workshop Proceedings
[ 1000 others ]
298 (17.2%)
91 ( 5.3%)
30 ( 1.7%)
28 ( 1.6%)
24 ( 1.4%)
1260 (72.8%)
8475
(83.0%)
volume
[character]
1. LNCS
2. 1
3. Lecture Notes in Computer
4. 2
5. 18
[ 692 others ]
24 ( 2.0%)
21 ( 1.7%)
19 ( 1.6%)
11 ( 0.9%)
10 ( 0.8%)
1128 (93.0%)
8993
(88.1%)
number
[character]
1. 1
2. 2
3. 9
4. 3
5. 16
[ 155 others ]
13 ( 4.9%)
11 ( 4.2%)
8 ( 3.0%)
7 ( 2.7%)
6 ( 2.3%)
218 (82.9%)
9943
(97.4%)
pages
[character]
1. 1-6
2. 1-8
3. 1-10
4. 1-4
5. 1-5
[ 2326 others ]
277 ( 6.2%)
238 ( 5.3%)
161 ( 3.6%)
158 ( 3.5%)
135 ( 3.0%)
3522 (78.4%)
5715
(56.0%)
year
[character]
1. 2018
2. 2019
3. 2020
4. 2021
5. 2022
2525 (24.7%)
2283 (22.4%)
1813 (17.8%)
1831 (17.9%)
1754 (17.2%)
0
(0.0%)
month
[character]
1. Jun
2. Jul
3. Sep
4. Oct
5. Dec
[ 7 others ]
1552 (15.5%)
1267 (12.7%)
1259 (12.6%)
977 ( 9.8%)
936 ( 9.4%)
4014 (40.1%)
201
(2.0%)
keywords
[character]
1. Formal Concept Analysis
2. accelerated fixed point ;
3. Adaptive Control ; Contro
4. Antivirus ; Evasion ; Win
5. biclustering ; FCA ; patt
[ 4865 others ]
3 ( 0.1%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
2 ( 0.0%)
4893 (99.8%)
5302
(51.9%)
pdf
[character]
1. https://hal-agroparistech\ 2. https://hal-agroparistech\ 3. https://hal-brgm.archives\ 4. https://hal-brgm.archives\ 5. https://hal-brgm.archives\ [ 8390 others ] 1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
8390 (99.9%)
1811
(17.7%)
hal_id
[character]
1. artisanal-1381
2. artisanal-1845
3. artisanal-229
4. artisanal-4811
5. artisanal-7398
[ 10201 others ]
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
1 ( 0.0%)
10201 (100.0%)
0
(0.0%)
hal_version
[character]
1. v1
2. v2
3. v3
4. v4
5. v5
[ 2 others ]
9292 (91.1%)
698 ( 6.8%)
154 ( 1.5%)
37 ( 0.4%)
11 ( 0.1%)
8 ( 0.1%)
6
(0.1%)
publisher
[character]
1. IEEE
2. Springer
3. ACM
4. Springer International Pu
5. ACM Press
[ 163 others ]
998 (40.0%)
416 (16.7%)
372 (14.9%)
174 ( 7.0%)
111 ( 4.5%)
423 (17.0%)
7712
(75.6%)
doi
[character]
1. 10.1145/nnnnnnn.nnnnnnn
2. 10.1145/1122445.1122456
3. 10.4230/LIPIcs
4. 10.4230/LIPIcs.CVIT.2016.
5. 10.1007/978-3-030-27520-4
[ 3636 others ]
6 ( 0.2%)
5 ( 0.1%)
4 ( 0.1%)
3 ( 0.1%)
2 ( 0.1%)
3645 (99.5%)
6541
(64.1%)
organization
[character]
1. IEEE
2. ACM
3. INSA Lyon
4. Soci'et'e Franaise
5. IFAC
[ 281 others ]
53 (11.4%)
20 ( 4.3%)
17 ( 3.7%)
13 ( 2.8%)
10 ( 2.2%)
350 (75.6%)
9743
(95.5%)
booktitle
[character]
1. CDC 2019 - 58th IEEE Conf
2. NeurIPS 2020 - 34th Confe
3. IFAC 2020 - 21st IFAC Wor
4. ICPR 2020 - 25th Internat
5. CDC 2018 - 57th IEEE Conf
[ 7425 others ]
29 ( 0.3%)
19 ( 0.2%)
18 ( 0.2%)
17 ( 0.2%)
16 ( 0.2%)
10072 (99.0%)
35
(0.3%)
address
[character]
1. Paris, France
2. Virtual, France
3. Nice, France
4. Lyon, France
5. Nancy, France
[ 2133 others ]
367 ( 3.6%)
127 ( 1.2%)
123 ( 1.2%)
111 ( 1.1%)
111 ( 1.1%)
9362 (91.8%)
5
(0.0%)



CORE

Variable Stats / Values Freqs (% of Valid) Graph Missing
title
[character]
1. Australian Institute of C
2. Australian Women in IT Co
3. IEEE Global Telecommunica
4. International Command and
5. International Conference
[ 2201 others ]
2 ( 0.1%)
2 ( 0.1%)
2 ( 0.1%)
2 ( 0.1%)
2 ( 0.1%)
2202 (99.5%)
0
(0.0%)
Acronym
[character]
1. IDC
2. ISC
3. EGC
4. ICCC
5. ICEC
[ 1963 others ]
4 ( 0.2%)
4 ( 0.2%)
3 ( 0.1%)
3 ( 0.1%)
3 ( 0.1%)
2015 (99.2%)
180
(8.1%)
Source
[character]
1. CORE2021
2. CORE2018
3. ERA2010
4. CORE2014
5. CORE2020
[ 2 others ]
956 (43.2%)
741 (33.5%)
439 (19.8%)
36 ( 1.6%)
19 ( 0.9%)
21 ( 0.9%)
0
(0.0%)
Rank
[character]
1. C
2. B
3. A
4. A*
5. Australasian
[ 64 others ]
982 (44.5%)
564 (25.6%)
334 (15.1%)
64 ( 2.9%)
61 ( 2.8%)
202 ( 9.2%)
5
(0.2%)
DBLP
[character]
1. none
2. view
1364 (61.7%)
848 (38.3%)
0
(0.0%)
hasData?
[character]
1. No
2. Yes
1504 (68.0%)
708 (32.0%)
0
(0.0%)
Primary FoR
[integer]
Mean (sd) : 2517.5 (1889.4)
min < med < max:
8 < 1006 < 4613
IQR (CV) : 3802 (0.8)
43 distinct values 99
(4.5%)
Comments
[integer]
Mean (sd) : 0.5 (4.4)
min < med < max:
0 < 0 < 132
IQR (CV) : 0 (8.5)
24 distinct values 0
(0.0%)
Average Rating
[character]
1. N/A
2. 5.0
3. 4.0
4. 3.0
5. 4.5
[ 10 others ]
1990 (90.0%)
104 ( 4.7%)
55 ( 2.5%)
13 ( 0.6%)
11 ( 0.5%)
39 ( 1.8%)
0
(0.0%)
core_id
[integer]
Mean (sd) : 1106.5 (638.7)
min < med < max:
1 < 1106.5 < 2212
IQR (CV) : 1105.5 (0.6)
2212 distinct values
(Integer sequence)
0
(0.0%)



1. Enrichissement des données HAL


Afin de maximiser le matching des intitulés de conférences, un travail de nettoyage et de lémmatisation est préalablement effectué Les intitulés sont ainsi mis en minuscules, sans accents et sans caractères spéciaux. Un match est opéré 2 fois pour faire correspondre les intitulés des données du HAL avec ceux du référentiel CORE.

Dans un premier temps, les chaînes de caractères formant l’intitulé des conférences HAL sont matchés avec celles du CORE, à partir de quoi on obtient une distance correspondant au nombre de caractères qui ne sont pas communs au 2 intitulés (si l’intitulé est exactement le même, la distance sera donc de 0). Cette manipulation est réalisée sur la variable HAL booktitle, matchée avec la variable CORE title indiquant l’intitulé des conférences.

Dans un deuxième temps ce sont seulement les acronymes qui sont matchés entre les données HAL et le référentiel CORE. Ces derniers sont extraits du nom de conférence disponible dans le champ “booktitle” des données HAL. La jointure se fait cette fois sur une base de match exact, contrairement aux manipulations réalisées en premier temps sur les intitulés des conférences. Ainsi, lorsque l’acronyme extrait du titre disponible dans les données HAL correspond à l’acronyme CORE, les informations du référentiel sont récupérées et viennent enrichir les données HAL.


Match par distance entre les chaînes de caractères (score)


Pour chaque communication HAL, une jointure approximative est effectuée sur les noms de conférences, en utilisant la méthode ‘Optimal string aligment’ qui ne récupère que le match le plus proche du champ à enrichir. Dans le cas où 2 noms de conférences ont la même distance par rapport au nom CORE, les 2 conférences sont gardées dans les données enrichies, et devront alors faire l’objet d’un traitement manuel.

Les intitulés originaux des communications et conférences des 2 sources de données sont réinjectés dans les données, à la place des intitulés lémmatisés.

Dans la table ci-dessous, les colonnes hal_title à booktitle proviennent de HAL ; les colonnes core_title à Primary FoR proviennent de CORE ; les colonnes distance et method sont générées par l’algorithme de comparaison.


Cette première méthode de jointure non exacte sur les intitulés de conférences a permis d’enrichir 10171 communications sur 10206, soit 99.66%. Les 35 communications restantes n’ont pas été enrichies puisqu’aucune valeur n’est renseignée dans le champ ‘booktitle’. Parmi les communications enrichies, 77 sont exactes, c’est-à-dire que l’intitulé dans les données HAL correspond exactement à celui de la conférence dans les données CORE (aux caractères spéciaux et majuscules près).



Match par mot commun aux deux chaînes de caractères (token)


La deuxième jointure est réalisée en identifiant l’acronyme qui se trouve fréquemment dans l’intitulé de conférence des données HAL, pour le matcher avec les données CORE. Lorsque l’acronyme identifié se retrouve à l’identique dans le champ Acronym de CORE, alors l’entrée est enrichie du référentiel CORE. L’extraction de l’acronyme est faite de deux manières à partir du champ booktitle des données HAL :

  • le premier mot est extrait (excepté s’il s’agit d’un des 3 mots suivants : IEEE, ACM, SIAM qui sont des sociétés savantes organisant de nombreuses conférences) ;
  • le ou les mots entièrement en majuscules sont extraits ;
  • un arbitrage est effectué entre les 2 valeurs récupérées, selon un ensemble de règles implémentées dans le script visible ci-dessous.
# règle pour arbitrer entre premier mot ou mot en capitales
hal_acronym = case_when(is.na(capital_word) ~ first_word,
                        is.na(first_word) ~ capital_word,
                        first_word == "In" ~ capital_word, #cas particulier où "In" ne correspond pas à l'acronyme de la conf
                        first_word == capital_word ~ first_word,
                        str_detect(first_word, "[0-9]") == TRUE ~ capital_word, #qd first_word contient un chiffre
                        nchar(capital_word) == 1 ~ first_word, #qd 1 seul caractère dans capital_word
                        grepl('[^[:alnum:]]', first_word) ~ capital_word, #qd first_word contient des caractères spéciaux (hors lettres et digits)
                        TRUE ~ capital_word)  #dans les autres cas on garde le mot en lettre capitales car plus fiable

Après jointure des acronymes extraits des noms de conférences HAL avec les données du CORE, les données sont réharmonisées avec les bases initiales pour récupérer les intitulés et acronymes non lemmatisés.


Cette deuxième méthode de jointure exacte par match de l’acronyme CORE, a permis d’enrichir 5170 communications sur 10206, soit 51%.


Données HAL enrichies


Finalement, nous consolidons les données HAL enrichies via la méthode de score et via la méthode de token dans une même base de données. Lorsqu’un match avec le référentiel CORE a été trouvé avec les 2 méthodes, c’est la méthode du token qui est préférée car selon nos observations, elle est généralement plus fiable. Deux exceptions à cette règle interviennent ;

  • lorsque la méthode de jointure par score est parfaite (la distance entre les deux chaînes de caractères est de 0), celle-ci est alors préférée ;
  • lorsque deux conférences sont trouvées via la méthode du token ; il s’agit d’un cas où l’acronyme est en doublon dans les données CORE, la méthode par score est alors préférée.

Ainsi, nous avons au total 10166 communications harmonisées et enrichies par les données CORE, soit 99.61% des données HAL récupérées par les années de 2018 à 2022. Parmi ces 10166 communications enrichies, 5422 sont finalement issues de la méthode du score (match non exact entre les intitulés de conférence) et 4745 de la méthode du token (match exact entre les acronymes de conférence). Les 35 communications n’ayant pas de ‘booktitle’ et par ce fait ne pouvant être enrichies du référentiel CORE, sont réintégrées à la base de données.

Le graphique ci-dessus représente, pour les communications enrichies par la méthode du score, la distribution des distances entre les deux chaînes de caractères des noms de conférence. Celles-ci s’étendent de 0 (match parfait entre les 2 noms) à 178, avec une moyenne de 33 caractères d’écart.

Ci-dessous, les données des archives ouvertes enrichies du référentiel CORE :



2.Données CORE millésimées


Cette deuxième partie vise à mettre à jour le rang du référentiel CORE, par rapport à l’année de publication de la communication HAL. Pour cela, les données millésimées du référentiel sont parsées puis importées depuis le portail internet, avec les manipulations visibles dans le script Parse_CORE_millesime.R.

Le millésime des 2212 conférences est récupéré depuis le portail CORE. Celles-ci sont alors jointes aux données enrichies de la première partie : les communications HAL enrichies des noms de conférences (et autres variables). Par la suite, une règle de décision est appliquée pour garder la bonne année du rang de la publication :

  • lorsque l’année de publication de la communication se trouve dans les données historiques du référentiel, le rang de celle-ci est gardé (ex: pour une publication de 2018 nous gardons le rang dont la source est ‘CORE2018’) ;
  • lorsque l’année de publication de la communication est 2019 ou 2022 nous prenons le rang de l’année précédente car aucune mise à jour du référentiel n’a été fait ces deux années là (ex: pour une publication de 2022 nous gardons le rang dont la source est ‘CORE2021’) ;
  • lorsqu’un seul rang est disponible dans les données CORE millésimées, nous le gardons ;
  • pour les cas qui n’entrent pas dans les possibilités listées ci-dessus, le rang le plus récemment mis à jour est gardé.

Ainsi, la source est mise à jour pour toutes les conférences. Pour 705 d’entre elles la source des données CORE non millésimées ne correspondait pas à l’année de la communication HAL, et donc a été mise à jour. Parmi ces dernières, le rang change pour 232 d’entre elles.



Données finales


Les données finales de cette analyse sont visibles ci-dessous, et disponibles dans le dossier data du repository. Elles se composent des champs suivants :

  • hal_title : le titre de la communication, issu des données HAL ;
  • year : l’année de publication de la communication, issue des données HAL ;
  • hal_id : l’identifiant unique de la communication, issu des données HAL ;
  • booktitle : le titre de la conférence, issu des données HAL ;
  • core_title : le titre de la conférence, issu des données CORE ;
  • Acronym : l’acronyme de la conférence, issu des données CORE ;
  • Source : l’année du rang de la conférence correspondant à l’année de publication de la communication HAL ou l’année la plus récente disponible, issue des données CORE millésimées;
  • Rank : le rang de la conférence correspondant à l’année de publication de la communication HAL ou l’année la plus récente disponible, issu des données CORE millésimées;
  • Primary FoR : l’identifiant du domaine de recherche (Field of Research) de la conférence, issu des données CORE non millésimées ;
  • core_id : l’identifiant unique de la conférence, provenant du numéro de page des données CORE millésimées ;
  • distance : nombre de caractères non communs aux titres de conférence dans les données HAL (booktitle) et dans les données CORE (core_title), calculé en première partie ;
  • part_similarite : pourcentage de caractères du titre de conférence HAL se trouvant dans le titre de conférence CORE, calculé en première partie ;
  • method : méthode ayant permis d’enrichir les données HAL par le référentiel, prend la valeur “score” ou “token”, a été créée en première partie ;
  • nb_conf_matchees : nombre de conférences du référentiel CORE ayant matché avec les données HAL, nécessitant alors un tri manuel au regard des intitulés de conférences ainsi que des acronymes.
 

Réalisé par Datactivist

2023/01/10